pipe_connection
    max_underground_distance = uint32_t(0)
    position = Vector
        Alt: positions = list of 4 Vectors
    type = "input-output" or "input" or "output" (default = "input-output")

errors:
    if not position and #positions ~= 4
        throws error("There must be 4 explicit positions for the pipe connection (corresponding to 4 directions).")
    if type invalid
        throws error(string.format("Unknown value %s for pipe connection type.", type)
    if direction.isDiagonal()
        throws error("Invalid pipe connections specification for offset %s.")